/**
 * [handleLevel 处理用户等级]
 * @param  {[Object]} data     [要处理的数据源]
 * @param  {[function]} userInfoFn [获取用户信息的回调]
 * @return {[Object]}          [处理后的data]
 */
export async function handleLevel(data, userInfoFn) {
    if (data.length) {
        const idArr = [];

        data.forEach(function (item, i) {
            idArr.push(item.id);
        });

        if (typeof userInfoFn === 'function') {
            // 进一步获取用户信息
            const result = await userInfoFn(idArr.join(','));

            // 将新的用户信息合并到data
            result.forEach(function (item, i) {
                data.forEach(function (subItem, n) {
                    if (item.Uid === subItem.id) {
                        subItem.name = item.Uname;
                        subItem.user_lever = item.Ulevel;
                    }
                });
            });
        }
    }

    return data;
}